package com.wanmait.gohome.service;

import com.github.pagehelper.PageInfo;
import com.wanmait.gohome.pojo.Userinfo;

import java.util.List;

public interface UserinfoService extends CommonService<Userinfo> {
    PageInfo<Userinfo> conditionQuery(String name,Integer province,Integer city,Integer area);//按照条件查找


    void updateEnable(Userinfo userinfo);//停封改账号

    String selectByPhone(String phone);    //检查手机号是否重复

    void insertUser(Userinfo userinfo);   //用户注册

    Userinfo findByPhoneAndPass(Userinfo userinfo);   //用户登录

    void updateById(Userinfo userinfo);   //登录时修改时间  次数  ip

    Userinfo findByPhone(String phone);//自动登录

    void updateByPhone(Userinfo userinfo);    //修改密码

    Userinfo findUserdetails(String id);  //通过 ID查找用户信息


    //志愿者查找分页，后台用，前台别覆盖
    PageInfo<Userinfo>selectVolunteers();
    //志愿者注销
    void deleteVolunteer(Integer id);
    /**
     * 申请成为志愿者
     */
    void updateApplyVolunteer(Userinfo userinfo);


    void updatePicById(Userinfo userinfo);  //个人中心修改头像

    Userinfo findById(Integer id);   //通过ID 查询 信息
    //通过id查询志愿者的详细信息
    Userinfo findVolunteerById(Integer id);

    void updateByUserId(Userinfo userinfo);  //个人中心 修改信息

    //志愿者恢复
    void recover(Integer id);
    //查询志愿者
    PageInfo<Userinfo> volunteerQuery(String title);
    //查询提交申请个数
    int getVolunteerApplyCount();
    //列出志愿者申请列表
   PageInfo<Userinfo> selectVolunteerApply();
   //志愿者申请通过
    void VolunteerPass(Integer id);
    //志愿者申请驳回
    void VolunteerReject(Integer id);
    //驳回理由
    void insertReject(Userinfo userinfo);
    //志愿者申请的详细信息
    Userinfo volunteerApplyInfo(Integer id);
    PageInfo<Userinfo> findPage1();


    void giveUpByTaskId(Integer userId, Integer taskId); // 个人中心  放弃任务

    void finishByTaskId(Integer userId, Integer taskId,String finishReason);   //完成 任务
}
